(1) Field of the Invention
This invention relates generally to a data processing system and, more particularly, to a data processing system with a pipeline processing architecture for performing a sequence of operations upon array data, such as matrix data and vector data, associated with a conditional operation.
(2) The Prior Art
In nuclear physics, meteorology, aerospace mechanics, etc., numerical analysis requires very complex computations at ultra-high speeds and capabilities greater than those of general purpose computers. Only a special purpose computer with array processing architecture can be used in such high-speed applications. One known array processing architecture is a pipeline processing architecture such as CDC STAR-100 comprising a plurality of logical or arithmetic stages, capable of being operated simultaneously, which are arranged in a pipeline. In the pipeline processing architecture, a sequence of input data or a sequence of groups of data is applied to the entry point of the pipeline, while a sequence of output data is obtained at the exit point of the pipeline, so that high data processing speed can be obtained.
The pipeline processing architecture of the prior art comprises only one pipeline used for performing a sequence of operations upon data. In general, there is a principle in the pipeline processing architecture that only the same operations are performed by each stage of a pipeline. As a result, if there are a large number of data groups, each group of which requires different operations, it is necessary for the pipeline processing architecture to have many pipelines arranged in series. For example, these pipelines are intended to perform the following steps.
Step 1: to sort the groups of data and collect the groups of data which require the same operations;
Step 2: to perform the same operations upon the groups of data which require the same operations;
Step 3: to store the operation results in vector registers or the like.
The executing time of each pipeline is composed of a rising time which is necessary for the initial data loading or the like and a real time for performing the operations. Therefore, the total executing time of all the pipelines with regard to the above-mentioned case is as follows: ##EQU1## where
n: the number of repeated operation:
t: executing time of each stage of the pipelines;
d: rising time of the pipelines;
c: density of elements which require processing of step 2 (0.ltoreq.C.ltoreq.1).
As a result, it takes a long time to perform the operations upon the data which require different types of operations and a high processing speed cannot be obtained.